package com.cskaoyan.javase.basic._2variable._5exercise;

/**
 * 整数常量的特殊性,特殊语法
 * 通过这个现象，我们其实可以发现编译器是很"聪明"的：
 *      1. 对于整数字面值常量（包括常量的运算）而言，因为它的值一定不会发生变化,而且整型数据值的位数十分容易判断，所以编译器能够自动判断整型常量是否在接收数据类型的范围内。
 *      2.体现在语法上就是：将一个整型字面值（包括常量的运算）赋值给整型时，如果该常量在整型数据类型的取值范围内，是可以赋值成功的。
 *
 * @since 09:43
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo2 {
    public static void main(String[] args) {
        // 等价于 byte b = 3;
        byte b = 1 + 2;
        // b = 100 + 200;
        char c = 60000;
        // c = 70000;
        // c = 60000 + 10000;
        short s = 30000;
        // s = 40000;


        int a = 1;
        /*
            a是一个变量
            当表达式中存在任何一个变量参与运算时
            表达式的结果要遵循表达式的类型提升
            结果一定是取值范围最大的数据类型
         */
        // byte b2 = a + 2;
        int num = a + 2;

        double d = 0.1;

    }
}
